Matthias Clasen [Wed, 11 Jun 2014 23:38:22 +0000 (19:38 -0400)]
Deprecate outside-border style properties
These should just be replaced by CSS margins, etc.
Matthias Clasen [Wed, 11 Jun 2014 23:06:36 +0000 (19:06 -0400)]
GtkButton: Don't use a non-zero border by default
The non-zero default default-border was causing buttons to shrink as
the focus moves around them. Themes which want a default-border should
define it explicitly.
Carlos Garnacho [Wed, 11 Jun 2014 21:18:34 +0000 (23:18 +0200)]
treeview: Check that :row-activated is only emitted on GDK_BUTTON_PRIMARY
It turned out not all code was fully prepared to handle multiple buttons,
this avoids respawning https://bugzilla.gnome.org/show_bug.cgi?id=731020.
Carlos Garnacho [Wed, 11 Jun 2014 21:01:31 +0000 (23:01 +0200)]
treeview: Make row area multipress gesture react to all buttons
The code is actually prepared for that, the gesture was initially limited
to only handling GDK_BUTTON_PRIMARY because it only used to handle row
activation.
Carlos Garnacho [Wed, 11 Jun 2014 14:39:19 +0000 (16:39 +0200)]
treeview: Remove unused variables from priv struct
These variables were last used before moving row activation to being
managed by a gesture.
Carlos Garnacho [Wed, 11 Jun 2014 14:29:52 +0000 (16:29 +0200)]
treeview: Move all button press/release management to the multipress gesture
The multipress gesture on the bin window now also does all the business related
to row selection. As row selection and activation can't be easily decoupled, this
fixes certain problems around ::row-activated being emitted on NULL paths.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731455 and
https://bugzilla.gnome.org/show_bug.cgi?id=731018
Carlos Garnacho [Wed, 11 Jun 2014 14:16:16 +0000 (16:16 +0200)]
treeview: Use drag gesture for rubberband selection/DnD
This gesture acts only on events from the bin window, and checks that
either the pressed row is draggable, or the conditions for rubberband
selection apply.
Carlos Garnacho [Wed, 11 Jun 2014 13:52:28 +0000 (15:52 +0200)]
treeview: Use gestures for column dragging/resizing
A multipress gesture takes care of autosizing on double click, and
a drag gesture is used for both column dragging/resizing (only one
can happen at a time).
Carlos Garnacho [Wed, 11 Jun 2014 12:37:18 +0000 (14:37 +0200)]
treeviewcolumn: Avoid a device position query
This happens in an event handler, and the button event should be
expected to have the right coordinates on the event window already.
Carlos Garnacho [Wed, 11 Jun 2014 15:34:23 +0000 (17:34 +0200)]
gesturesingle: Ensure the current button stays set until after the touch/button release
This makes gtk_gesture_get_current_button() work properly on GtkGesture::end, and signals
spawn from there on subclasses.
Matthias Clasen [Wed, 11 Jun 2014 13:33:30 +0000 (09:33 -0400)]
GtkPaned: Make sure the raise the handle window above children
We need to show child windows and handle in the right order,
otherwise the input-only handle window ends up under the children
where it is useless.
Matthias Clasen [Wed, 11 Jun 2014 04:01:50 +0000 (00:01 -0400)]
GtkTooltip: Ignore shadow when finding widgets
When placing tooltips, the csd shadow will get 'pushed up' and
may end up underneath the pointer. We don't want this to cause
the tooltip to be hidden, because that leads to flickering, so
ignore the shadow when finding the widget under the pointer.
Matthias Clasen [Wed, 11 Jun 2014 03:58:27 +0000 (23:58 -0400)]
csd: Fix non-resizable windows
For csd override-redirect windows, we don't set up resize handles,
but we were not ignoring the margin in all places, causing some
size calculations to go wrong.
Matthias Clasen [Wed, 11 Jun 2014 03:51:48 +0000 (23:51 -0400)]
Don't mention no longer existing widgets in the docs
GtkText, GtkList and GtkCList don't exist anymore.
Benjamin Otte [Tue, 10 Jun 2014 23:16:48 +0000 (01:16 +0200)]
stylecontext: Get rid of StyleData struct
It's now just a GtkCssComputedValues + refcount. And
GtkCssComputedValues has its own refcount, so use that one instead.
Benjamin Otte [Tue, 10 Jun 2014 22:30:30 +0000 (00:30 +0200)]
stylecontext: Move property cache
... from per style data to only existing once per style context. This is
technically an API break because it no longer allows getting different
style properties between save()/restore() pairs, but I don't think this
was ever intended to work that way, as the style property API was to be
used and is used via gtk_widget_get_style().
And it simplifies code a lot.
Benjamin Otte [Tue, 10 Jun 2014 22:30:02 +0000 (00:30 +0200)]
docs: Remove unused variable
Benjamin Otte [Tue, 10 Jun 2014 22:29:00 +0000 (00:29 +0200)]
testsuite: Add missing errors file
The file was forgotten in
98954bd1d1e27e2e8b5181af1752a9e8e107c74c and
caused test failure. Oops.
Benjamin Otte [Tue, 10 Jun 2014 18:18:37 +0000 (20:18 +0200)]
stylecontext: Remove state from _peek_style_property()
It evaluates to "current state" in all cases, so no need to special case
it.
Matthias Clasen [Tue, 10 Jun 2014 22:47:49 +0000 (18:47 -0400)]
gtk3-demo: Use monospace font for source code
Robert Ancell [Mon, 9 Jun 2014 02:17:39 +0000 (14:17 +1200)]
GdkDisplay: Remove unused GdkKeyboardGrabInfo struct
I can't find anything that uses this struct and it seems to be replaced by GdkDeviceGrabInfo
Benjamin Otte [Tue, 10 Jun 2014 13:57:57 +0000 (15:57 +0200)]
css: Fix uninitializaed variable
Matthias Clasen [Tue, 10 Jun 2014 12:53:31 +0000 (08:53 -0400)]
inspector: Add combobox popups to the tree
Matthias Clasen [Tue, 10 Jun 2014 12:47:27 +0000 (08:47 -0400)]
GtkComboBox: Add private api to get the popup
This will be used to make the popup appear in the inspector.
Matthias Clasen [Tue, 10 Jun 2014 12:32:44 +0000 (08:32 -0400)]
inspector: Add submenus to the tree
Benjamin Otte [Tue, 10 Jun 2014 11:45:15 +0000 (13:45 +0200)]
menuitem: Use .arrow style class for submenu indicators
As requested by the Adwaita guys.
Benjamin Otte [Tue, 10 Jun 2014 11:45:06 +0000 (13:45 +0200)]
treeview: Remove unused variable
Benjamin Otte [Tue, 10 Jun 2014 11:44:25 +0000 (13:44 +0200)]
viewport: Remove unused variable
Benjamin Otte [Tue, 10 Jun 2014 11:43:35 +0000 (13:43 +0200)]
cellrenderertoggle: Remove copy/paste leftovers
Introduced in
2d88a3ae300d6e1c8faa7391bbab9746f2131092
Matthias Clasen [Tue, 10 Jun 2014 01:27:26 +0000 (21:27 -0400)]
docs: Add GtkActionBar to the type list
Without this, we don't get object hierarchy, among other things.
Matthias Clasen [Tue, 10 Jun 2014 01:09:40 +0000 (21:09 -0400)]
Add GtkActionBar and GtkSearchBar to visual index
These were missing.
Benjamin Otte [Mon, 9 Jun 2014 23:17:00 +0000 (01:17 +0200)]
a11y: Remove an outdated comment
Benjamin Otte [Mon, 9 Jun 2014 23:06:57 +0000 (01:06 +0200)]
testsuite: Add a test for recent fix
Benjamin Otte [Mon, 9 Jun 2014 23:04:55 +0000 (01:04 +0200)]
css: Parse text-shadow values properly
We used to accept the same syntax for text-shadow and icon-shadow as
we accept for box-shadow. However, box-shadow does accept a spread and
the inset keyword while the others should not.
Joanmarie Diggs [Mon, 9 Jun 2014 22:31:19 +0000 (18:31 -0400)]
GtkEntryAccessible: Emit signal after insertion
The signal needs to be emitted after the text insertion as at-spi gets
the text to compute the inserted text due to the AtkText::insert-text
signal not containing it.
Also adjust position to reflect changes to the offsets.
https://bugzilla.gnome.org/show_bug.cgi?id=731429
Matthias Clasen [Fri, 6 Jun 2014 22:00:57 +0000 (18:00 -0400)]
Add some theming for csd popups
Not attempt to make this look good, just to demonstrate
that themes can in fact do it.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Sat, 7 Jun 2014 01:33:36 +0000 (21:33 -0400)]
Request csd for tooltips
Use the new private GtkWindow api to request
client-side decorations for tooltips.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:15:18 +0000 (17:15 -0400)]
GtkTooltip: take csd shadows into account for placement
When placing tooltips, we don't want the shadow to influence
our choice.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:05:21 +0000 (17:05 -0400)]
GtkTooltip: remove hardcoded tooltip drawing
This is old code from dating back many years. Nowadays, we can
just use css drawing and csd windows to achieve much the same
effect.
Themes will need some adjustment for this change.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Sat, 7 Jun 2014 01:30:55 +0000 (21:30 -0400)]
Request csd for menus
Use the new private GtkWindow api to request
client-side decorations for menus.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 23:06:15 +0000 (19:06 -0400)]
GtkMenu: Add a separate style class to the toplevel of menus
This is necessary in order to use .window-frame.csd.popup for
styling csd menus.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 22:00:36 +0000 (18:00 -0400)]
GtkMenu: take csd shadows into account for placement
When placing menus, we don't want the shadow to influence
our choice.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:59:38 +0000 (17:59 -0400)]
Allow csd for override-redirect windows
This commit makes it possible to use client-side decorations for
override-redirect windows by calling _gtk_window_request_csd()
before realizing the window. Since the wm won't do interactive
resizing for us in this case anyway, don't bother creating
the border windows we use for this purpose on regular toplevels.
To make this accessible to themes, we set a "csd" style class
on client-side decorated windows. With this, .window-frame.csd.menu
can be used to define the shadow for csd menus, and .menu can be
used to define a border for menus under non-composited wms.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Fri, 6 Jun 2014 21:53:50 +0000 (17:53 -0400)]
Add a csd style class
This will be used for client-side decorated windows.
https://bugzilla.gnome.org/show_bug.cgi?id=731187
Matthias Clasen [Mon, 9 Jun 2014 17:51:58 +0000 (13:51 -0400)]
GtkViewport: Don't do silly things in a setter
Just queue a resize instead of fiddling with the size allocation.
Matthias Clasen [Mon, 9 Jun 2014 17:42:07 +0000 (13:42 -0400)]
Mark GtkStyleContext::direction as deprecated
The setter was deprecated a while ago, do the same for the property.
Matthias Clasen [Mon, 9 Jun 2014 17:39:38 +0000 (13:39 -0400)]
Mark GtkContainer::resize-mode as deprecated
The setter was deprecated a while ago, do the same for the property.
Matthias Clasen [Mon, 9 Jun 2014 16:47:45 +0000 (12:47 -0400)]
Add a test for property notification
This tests just a few basic things for now. Mainly, that we don't
emit redundant notifications for enum, flags, int and boolean
properties. It also checks that we do emit the expected notifications
when the value actually changes. This is checked for string, double
and float properties as well.
There is a large number of exceptions in the test, and a lot more
checks that could be done. One class of exceptions is all the places
where we have -set booleans to go along with another property. We
should have a dedicated test for these pairs. Another class of
exceptions is where naked objects created by g_object_new () just
don't have the full functionality - e.g. a tree selection without
a tree view does not work very well. We set up the instance object
better for these situations.
Matthias Clasen [Mon, 9 Jun 2014 15:51:12 +0000 (11:51 -0400)]
GtkVolumeButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:55 +0000 (11:50 -0400)]
GtkViewport: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:22 +0000 (11:50 -0400)]
GtkTreeViewColumn: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:50:05 +0000 (11:50 -0400)]
GtkTreeView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:45 +0000 (11:49 -0400)]
GtkTreeSelection: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:22 +0000 (11:49 -0400)]
GtkToolPalette: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:49:01 +0000 (11:49 -0400)]
GtkToolItemGroup: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:40 +0000 (11:48 -0400)]
GtkToolbar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:24 +0000 (11:48 -0400)]
GtkTextView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 15:48:09 +0000 (11:48 -0400)]
GtkSwitch: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:44:22 +0000 (09:44 -0400)]
GtkToolItem: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:44:09 +0000 (09:44 -0400)]
GtkToolButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:43:49 +0000 (09:43 -0400)]
GtkToggleToolButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:42:05 +0000 (09:42 -0400)]
GtkStyleContext: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:48 +0000 (09:41 -0400)]
GtkStatusIcon: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:26 +0000 (09:41 -0400)]
GtkSpinner: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:41:09 +0000 (09:41 -0400)]
GtkSpinButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:40:55 +0000 (09:40 -0400)]
GtkSizeGroup: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:40:06 +0000 (09:40 -0400)]
GtkSeparatorToolItem: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:39:53 +0000 (09:39 -0400)]
GtkSearchBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:36:47 +0000 (09:36 -0400)]
GtkSearchBar: Handle lack of an entry
We were not dealing with the possibility of priv->entry being
NULL in all places.
Matthias Clasen [Mon, 9 Jun 2014 13:28:39 +0000 (09:28 -0400)]
GtkSeparator: Explicitly notify orientation
Matthias Clasen [Mon, 9 Jun 2014 13:27:07 +0000 (09:27 -0400)]
GtkScrolledWindow: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:25:19 +0000 (09:25 -0400)]
GtkScrollable: Use G_PARAM_EXPLICIT_NOTIFY
Implementors will have to be adjusted.
Matthias Clasen [Mon, 9 Jun 2014 13:22:05 +0000 (09:22 -0400)]
GtkScaleButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:21:50 +0000 (09:21 -0400)]
GtkScale: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:21:28 +0000 (09:21 -0400)]
GtkRecentChooserMenu: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:21:11 +0000 (09:21 -0400)]
GtkRange: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:20:55 +0000 (09:20 -0400)]
GtkProgressbar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:19:41 +0000 (09:19 -0400)]
GtkPrintOperation: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:17:43 +0000 (09:17 -0400)]
GtkPopover: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:16:06 +0000 (09:16 -0400)]
GtkPaned: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:15:39 +0000 (09:15 -0400)]
GtkNotebook: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:07:18 +0000 (09:07 -0400)]
GtkMessageDialog: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:07:04 +0000 (09:07 -0400)]
GtkMenuShell: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:06:49 +0000 (09:06 -0400)]
GtkMenuButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:06:32 +0000 (09:06 -0400)]
GtkMenuBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:04:53 +0000 (09:04 -0400)]
GtkMenu: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:04:33 +0000 (09:04 -0400)]
GtkLinkButton: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:01:23 +0000 (09:01 -0400)]
GtkLevelBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:00:27 +0000 (09:00 -0400)]
GtkLayout: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 13:00:05 +0000 (09:00 -0400)]
GtkInfoBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:59:47 +0000 (08:59 -0400)]
GtkIMContext: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:59:33 +0000 (08:59 -0400)]
GtkIconView: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:58:57 +0000 (08:58 -0400)]
GtkImage: Use G_PARAM_EXPLICIT_NOTIFY
And make use of the new icon helper API to avoid
redundant notification.
Matthias Clasen [Mon, 9 Jun 2014 12:58:05 +0000 (08:58 -0400)]
GtkIconHelper: Change setters to return success
This makes it easier to avoid redundant notifications in users.
Matthias Clasen [Mon, 9 Jun 2014 12:57:46 +0000 (08:57 -0400)]
GtkHeaderBar: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:57:30 +0000 (08:57 -0400)]
GtkGrid: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:57:10 +0000 (08:57 -0400)]
GtkGestureSingle: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:56:55 +0000 (08:56 -0400)]
GtkGesturePan: Use G_PARAM_EXPLICIT_NOTIFY
Matthias Clasen [Mon, 9 Jun 2014 12:56:10 +0000 (08:56 -0400)]
GtkRecentChooserDefault: Adapt to explicit notify
Matthias Clasen [Mon, 9 Jun 2014 12:53:12 +0000 (08:53 -0400)]
GtkRecentChooser: Use G_PARAM_EXPLICIT_NOTIFY